import CryptoJS from 'crypto-js';

export const decryptAES = (encryptedData, aesKey) => {
    // 验证密钥长度
    if (aesKey.length !== 64) { // AES-256需要64位十六进制
      throw new Error('Invalid AES-256 key length');
    }
  
    const key = Buffer.from(aesKey, 'hex');
    
    // 更安全的CBC模式（需要获取IV）
    const iv = Buffer.alloc(16, 0); // 从协议中获取真实IV
    
    const decipher = crypto.createDecipheriv(
      'aes-256-cbc', // 使用CBC模式
      key,
      iv
    );
    
    // 添加自动填充处理
    decipher.setAutoPadding(true);
    
    try {
      return Buffer.concat([
        decipher.update(encryptedData),
        decipher.final()
      ]);
    } catch (e) {
      console.error('解密失败:', e.message);
      return null;
    }
  }